package com.tiny.tinyweb.core.annotation;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 用于设置测试ldif文件的注解类。该注解适用于junit测试类和用 {@link org.junit.Test}注解的测试方法。
 * 这些ldif文件会在测试方法开始时加载到ApacheDS中，测试方法执行后清除。
 *
 * @see {@link com.tiny.tinyweb.core.test.UnitTestLdapExecutionListener}
 * @author wxiaobin
 * @version 1.0
 * @since 1.0
 */
@Documented
@Inherited
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE, ElementType.METHOD})
public @interface LdapTestData {
    /**
     * ldif文件相对于classpath的路径。
     *
     * @return ldif 文件相对于classpath的路径
     */
    public String ldifFile();

    /**
     * ldif 文件中指定的条目所在的根节点名称。
     *
     * @return ldif 文件中指定的条目所在的根节点名称
     */
    public String rootNode() default "";
}
